package com.headwind.logistics.permission.mapper;

import com.headwind.logistics.common.pojo.Menu;
import com.headwind.logistics.permission.pojo.MenuTree;
import com.headwind.logistics.common.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author 小恶魔
 * @Date 2020-07-14 21:32
 * @Version 1.0
 * @DESCRIPTION 角色数据访问层映射接口
 */
public interface RoleMapper {

    /**
     * 查询角色
     * @param page
     * @param rows
     * @return
     */
    List<Role> queryRoleMenu(@Param("page")Integer page,@Param("rows")Integer rows);

    /**
     * 根据角色id获取菜单
     * @param roleId
     * @return
     */
    List<Menu> queryMenuByRoleId(Long roleId);

    /**
     * 根据菜单id获取角色
     * @param menuId
     * @return
     */
    List<Role> queryRoleByMenuId(Long menuId);

    /**
     * 获取树形菜单
     * @return
     */
    List<MenuTree> queryAllRecursion();

    /**
     * 根据角色id获取菜单(一二级都获取)
     * @param roleId
     * @return
     */
    List<Menu> queryAllMenuByRoleId(Long roleId);

    /**
     * 获取全部角色
     * @return
     */
    List<Role> queryAllRole();
}
